<template>
  <div>
    <div class="title">推荐歌单</div>

    <!-- vant  Layout布局 -->
    <van-row gutter="8">
      <van-col span="8" v-for="item in reList" :key="item.id">
        <!-- vant 图片 -->
        <van-image width="100%" height="3rem" fit="cover" :src="item.picUrl" />
        <!-- 文字 -->
        <p class="song_name">{{ item.name }}</p>
      </van-col>
    </van-row>

    <div class="title">最新音乐</div>
    <!-- <van-cell
      v-for="item in newList"
      :key="item.id"
      :title="item.name"
      :label="item.song.artists[0].name + ' - ' + item.name"
      center
    >
      <template #right-icon>
        <van-icon name="play-circle-o" size="0.6rem" />
      </template>
    </van-cell> -->
    <!-- 使用封装的SongItem组件 -->
    <SongItem
      v-for="item in newList"
      :key="item.id"
      :title="item.name"
      :label="item.song.artists[0].name"
      :id="item.id"
    ></SongItem>
  </div>
</template>

<script>
import SongItem from "@/components/SongItem.vue";
import { recommendMusic, newSong } from "@/api";
export default {
  components: {
    SongItem,
  },
  data() {
    return {
      reList: [], //推荐歌单的数据
      newList: [], //新音乐的数据
    };
  },

  async created() {
    //todo  推荐歌单发请求
    const { data: res } = await recommendMusic({
      limit: 6, //限制数量
    });
    console.log(res);
    this.reList = res.result;

    // todo  发推荐新音乐请求
    // !重命名
    const { data: res2 } = await newSong({
      limit: 20, //限制数量  默认是10条
    });
    console.log(res2);
    this.newList = res2.result;
  },
};
</script>

<style scoped>
/* 标题 */
.title {
  padding: 0.266667rem 0.24rem;
  margin: 0 0 0.24rem 0;
  background-color: #eee;
  color: #333;
  font-size: 15px;
}

/* 推荐歌单 - 歌名 */
.song_name {
  font-size: 0.346667rem;
  padding: 0 0.08rem;
  margin-bottom: 0.266667rem;
  line-height: 1.5;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box;
  /** 对象作为伸缩盒子模型显示 **/
  -webkit-box-orient: vertical;
  /** 设置或检索伸缩盒对象的子元素的排列方式 **/
  -webkit-line-clamp: 2;
  /** 显示的行数 **/
  overflow: hidden;
  /** 隐藏超出的内容 **/
}
</style>
